2008/7/2 Vladimir Nesov <[EMAIL PROTECTED]>: > On Thu, Jul 3, 2008 at 12:59 AM, William Pearson <[EMAIL PROTECTED]> wrote: >> 2008/7/2 Vladimir Nesov <[EMAIL PROTECTED]>: >>> On Wed, Jul 2, 2008 at 9:09 PM, William Pearson <[EMAIL PROTECTED]> wrote: >>>> They would get less credit from the human supervisor. Let me expand on >>>> what I meant about the economic competition. Let us say vmprogram A >>>> makes a copy of itself, called A', with some purposeful tweaks, trying >>>> to make itself more efficient. >>> >>> So, this process performs optimization, A has a goal that it tries to >>> express in form of A'. What is the problem with the algorithm that A >>> uses? If this algorithm is stupid (in a technical sense), A' is worse >>> than A and we can detect that. But this means that in fact, A' doesn't >>> do its job and all the search pressure comes from program B that ranks >>> the performance of A or A'. This >>> generate-blindly-or-even-stupidly-and-check is a very inefficient >>> algorithm. If, on the other hand, A happens to be a good program, then >>> A' has a good change of being better than A, and anyway A has some >>> understanding of what 'better' means, then what is the role of B? B >>> adds almost no additional pressure, almost everything is done by A. >>> >>> How do you distribute the optimization pressure between generating >>> programs (A) and checking programs (B)? Why do you need to do that at >>> all, what is the benefit of generating and checking separately, >>> compared to reliably generating from the same point (A alone)? If >>> generation is not reliable enough, it probably won't be useful as >>> optimization pressure anyway. >>> >> >> The point of A and A' is that A', if better, may one day completely >> replace A. What is very good? Is 1 in 100 chances of making a mistake >> when generating its successor very good? If you want A' to be able to >> replace A, that is only 100 generations before you have made a bad >> mistake, and then where do you go? You have a bugged program and >> nothing to act as a watchdog. >> >> Also if A' is better than time A at time t, there is no guarantee that >> it will stay that way. Changes in the environment might favour one >> optimisation over another. If they both do things well, but different >> things then both A and A' might survive in different niches. >> > > I suggest you read ( http://sl4.org/wiki/KnowabilityOfFAI ) > If your program is a faulty optimizer that can't pump the reliability > out of its optimization, you are doomed. I assume you argue that you > don't want to include B in A, because a descendant of A may start to > fail unexpectedly.
Nope. I don't include B in A because if A' is faulty it can cause problems to whatever is in the same vmprogram as it, by overwriting memory locations. A' being a separate vmprogram means it is insulated from the B and A, and can only have limited impact on them. I don't get what your obsession is with having things all be in one program is anyway. Why is that better? I'll read knowability of FAI again, but I have read it before and I don't think it will enlighten me. I'll come back to the rest of your email once I have done that. Will Pearson ------------------------------------------- agi Archives: http://www.listbox.com/member/archive/303/=now RSS Feed: http://www.listbox.com/member/archive/rss/303/ Modify Your Subscription: http://www.listbox.com/member/?member_id=8660244&id_secret=106510220-47b225 Powered by Listbox: http://www.listbox.com