| Original Message |
GreenMan (no login) Posted Jun 15, 2004 5:46 PM
>to do what you are asking, it
>would require sensory devices
Yes. Precisely. Sensory devices. That's what I was getting at in my first post, when I said, "the challenge seems to be to write a program that...notices things."
>...and many years to learn before it could
>do something so simple the way you mean.
You may be right about that. I don't know if you noticed my mentioning of my gomoku program some time back. This isn't a self-modifying program, exactly -- that is, the code doesn't change. What changes is the 'population' of weights used to determine each move. The program doesn't 'know' that the goal is to get five-in-a-row; it just looks up the weight for each pattern it sees, using randomly selected indexes into a weight table. When one of the 'players' makes five-in-a-row, a win is declared, and changes are made to some of the weights that were used by the loser, while the winner's weights are left alone.
I have had it running pretty much 24/7 on at least one computer for some months now, with matches being resolved at an average rate of about three per minute. It IS learning, and I can see the progress, but it is SLOW. This is not surprising considering the size of the 'search space'. A 'population' is a 16 x 1452 array of hex values, stored in an external file. Each match is a contest between two randomly assembled combinations of those values. Somewhere among the mind-bogglingly large number of possible combinations (16^1452 of them to be precise) lies the perfect gomoku strategy (or so I presume), along with a HUGE number of pretty dang good ones. I believe that eventually it will find at least one of the pretty good ones -- but I am beginning to suspect that a timeframe of years is about right for that happening. I guess I could still optimize it quite a bit, but probably not enough to make much difference. |
|
|