4 ms·
"teach a computer to play Go using some form of machine learning" It would work. Even unsupervised. Let random programs play against each other. Let the losers
by itry 12y ago
"teach a computer to play Go using some form of machine learning"
It would work. Even unsupervised. Let random programs play against each other. Let the losers die and the winners breed offsprings with mutations. If you let that run long enough, i tend to think that the new world champion would arise with certainty.
The question is how long "long enough" is. Probably "too long" on current hardware.
Would be nice to let this experiment run and draw a graph showing the elo of the best program over time.
- sp332 12y agoRandom? Like code with random logic statements? Random for-loops, and random data structures initialized with random values, and random exit codes?
- itry 12y agoYes. See "Genetic Programming" by John R. Koza for empirical research and in depth analysis of this approach.
- sp332 12y agoYeah, I know what genetic programming is. But your programs don't just have to beat each other, they have to beat expert humans. Since there isn't a way to "crossover" operations from human players to the next generation of programs, crossover is of limited use. That means the only way to progress will be through random mutation, which will take a very long time.
- ianopolous 12y agoI actually tried this for fun during my PhD I made sure the program instruction set was Turing complete and ran it along Koza's lines. As predicted, it took too long. On any reasonable time scale, the best evolved program was to play randomly.
- deleted 12y ago[deleted]
- deleted 12y ago[deleted]
- toby 12y agoFor a game this complex the evolution will be so slow you'll likely never see any progress. My experience with genetic programs is they'll go through hundreds of thousands of generations just to play tic-tac-toe properly.
- aidenn0 12y agoDifferent parts of the game are amenable to different techniques. I had to do a genetic algorithm for my HS AI class, and I found that checkers opening through middle was quite amenable. Late-middle to end-game of checkers is easy to evaluate positional strength, which allowed a very good fitness function. This meant I was able to create a genetic program to learn to play the first half of the game fairly effectively.