Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: A "New" Idea for Adaptive Programs

Author: Bob Durrett

Date: 15:43:12 12/23/02

Go up one level in this thread


On December 23, 2002 at 18:07:29, Martin Giepmans wrote:

>On December 23, 2002 at 15:47:01, Bob Durrett wrote:
>
>>On December 23, 2002 at 15:25:06, Martin Giepmans wrote:
>>
>>>On December 23, 2002 at 14:57:02, Bob Durrett wrote:
>>>
>>>>
>>>>Not being up-to-speed on reading programming journals in all languages, I am not
>>>>sure that the following idea is original.  But I will "take my chances" in the
>>>>hope of not being Zapped too badly if it is not original.  : )
>>>>
>>>>I am interested in adaptive programs, especially as the theory applies to chess
>>>>engines.
>>>>
>>>>The basic concept is to produce a program that will change itself "in a big
>>>>way," as the environment or problems being solved change.  This
>>>>self-modification would take place several or many times in as short a time as
>>>>an hour.
>>>>
>>>>Still trying to stay general: How to do this?
>>>>
>>>>One way, impractical for sure, would be to have a single overall program which
>>>>was a package consisting of many specific programs.  As the environment or other
>>>>factors changed, the program would be stimulated to jump from the current
>>>>specific program to the more appropriate one, with the necessary data
>>>>transferred to the new specific program.  This sort of jump could occur often
>>>>and many times as the need dictated.
>>>>
>>>>Perhaps a more practical approach might be to have a single program with many
>>>>parameters that could be set or reset quickly.  In this scenario, the stimuli
>>>>would result in calling of a "reconfigure" program.  This program would then,
>>>>very quickly, reset the parameters of the main program.  In this way, the main
>>>>program would, in effect, be a new program.
>>>>
>>>>A more generalized version of the latter approach would be for the "reconfigure"
>>>>program to VERY QUICKLY make extensive modifications to the main program.
>>>>
>>>>Are these ideas any good?
>>>>
>>>>If they are, are they currently in use in existing chess engines?
>>>>
>>>>If not, does this sound like a possible improvement for the future?
>>>>
>>>>What is your "gut feel" in this matter?
>>>>
>>>>Bob D.
>>>
>>>I wonder if there is a "real" difference between
>>>
>>>(a) a program that changes itself (even in a big way)
>>>(b) a normal program that has code like "if a then x else if b then y .."
>>>
>>>Theorem: for every program of type a there is program of type b that behaves
>>>exactly the same.
>>>(ie no differences in output, although there may be differences in the "black
>>>box")
>>>
>>>True?
>>>
>>>Martin
>>
>>(1) There is no way that I could say definitively whether or not that is true.
>>
>>(2) There is more than one way to configure a program.  It may be that (a) is
>>easier to program and debug than (b), for example.
>>
>>There is something to be said for having different parts of a program do
>>different things, even if the program is not as fast as a fully integrated
>>seamless program.  Programming and debugging (b) might be a nightmare!!!
>>
>>Bob D.
>
>I don't know, programming and debugging (a) might also be a nightmare.
>Suppose we write a reconfigure program that (re)writes a chess program,
>depending on the position, the opponent maybe, etc.
>In version 74 of the chess program we discover a bug. Let's say it crashed
>when the reportedly nonsmoking opponent for which it was made by Reconfigure
>blew smoke at the screen. ;)
>OK, now what? First we will have to find what was wrong with 74, than
>we will have to retrace the bug back to Reconfigure. Suppose we find the
>bug in Reconfigure. We restart that program, it creates 1 .. 23 without
>any problem and they play well, but just when we start to relax and smile
>program 24 does an illegal move because the opponent for which it was made, a
>heavy smoker, _doesn't_ blow smoke at the screen ....
>
>Martin

Well, I am not a "bugologist" and wouldn't recognize a C language bug if it bit
me on the "censored."  [You fill in the censored part.]  But I used to debug my
Fortran programs more than most since I made so many programming errors.  : )

There are millions of computer programming books about modular programs.  I'm
sure debugging methods have already been perfected for such programs.

Bob D.





This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.