michi

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
lucasart
Posts: 3232
Joined: Mon May 31, 2010 1:29 pm
Full name: lucasart

michi

Post by lucasart »

For those interested in computer go, I came across this:
https://github.com/pasky/michi

It's an educational program that shows, as simply as possible, the state of the art techniques used by go programs, written in Python. By no other than the creator of Pachi, which seems to be the strongest open source Go program around.

Chess is getting boring game of fine-tuning of the same algorithms, reimplemented over and over again, perft competitions...

Go seems really more interesting.
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.
User avatar
hgm
Posts: 27808
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: michi

Post by hgm »

You don't have to go so outlandish as Go.

Xiangqi and (mini-)Shogi are already more interesting. And at least some of the familiar techniques, such as alpha-beta, are still useful there. And of course there is Draughts, in which real progress is still possible, as Fabien has now demonstrated.

Other games that are of interest to AI researchers and have competitions in the ICGA Olympiad are Amazons, Clobber and Surakarta. And you could of course try to do Arimaa.
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: michi

Post by Evert »

hgm wrote: Xiangqi and (mini-)Shogi are already more interesting. And at least some of the familiar techniques, such as alpha-beta, are still useful there. And of course there is Draughts, in which real progress is still possible, as Fabien has now demonstrated.
The Draughts result is truly spectacular; I would have expected draughts programs to be sufficiently advanced that an upset like this would have been unlikely. I guess I should have known better. :)

The challenge for Xiangqi and Shogi is coming up with good evaluation functions (not least because there is virtually no literature in languages other than Chinese or Japanese), but you get some interesting effects on top of that: the chase rules in Xiangqi (which are a bit of a nightmare, as the Olympiad showed in the first round) and Shogi has the mate threats. Otherwise they're not really so different from "regular" chess...
And you could of course try to do Arimaa.
I looked at Arimaa a few times to decide whether it'd be something I'd want to try to implement, but somehow the game never looks very appealing to me. Not one I'd play over the board, I feel, unlike Draughts, Xiangqi and Shogi. Or Go, I suppose, although I don't own a Go set...

There's another interesting AI project for Chess-like games though, which occurred to me the other day when I was shuffling Shogi pieces around with my son: he can play the game just fine (Goro-Goro Shogi in this case, with the cutesy Dobutsu pieces), but he has no concept of planning or strategy. He just likes to promote Chickens (Pawns) and Cats (Silvers) and capture my pieces. So during play, I try to figure out interesting puzzles for him to solve: capture a piece, escape from check, safe a threatened piece, chase my Lion (King), things like that. I do something similar when playing Draughts. This keeps his interest and makes the game fun, but it's something a computer cannot do. He can "win" the game because I set up a mate puzzle for him, but there is no computer program that can do that. I doubt he could beat a random-mover, for instance, and either way the challenge would not be very consistent or interesting.
PK
Posts: 893
Joined: Mon Jan 15, 2007 11:23 am
Location: Warsza

Re: michi

Post by PK »

there is also a version of michi recoded in c:

https://github.com/db3108/michi-c
User avatar
Ajedrecista
Posts: 1971
Joined: Wed Jul 13, 2011 9:04 pm
Location: Madrid, Spain.

A little more info about Scan by Fabien Letouzey.

Post by Ajedrecista »

Hello:
hgm wrote:And of course there is Draughts, in which real progress is still possible, as Fabien has now demonstrated.
If I am not wrong, Scan had +7 over 11 games. Thanks to Harm Jetten for share the results:

http://hjetten.home.xs4all.nl/dameng.html#perform

KingsRow by Ed Gilbert was not present and it is also a very strong engine. It would have been an even more superb tournament. There are probably other nice engines missing.

A little more info about Scan can be read here:

Computer Olympiad 2015 Leiden

Michel Grimminck (Dragon Draughts) says that Scan uses a kind of machine learning (offline learning of eval coefficients) and that it used 6-piece EGDB.

------------------------
Evert wrote:I would have expected draughts programs to be sufficiently advanced that an upset like this would have been unlikely.
8x8 checkers (English draughts variation a.k.a. American checkers) is indeed near God-like level. Cake (by Martin Fierz) and KingsRow (by Ed Gilbert) are the best examples. There is still some room for improvement at 10x10 variation.

Regards from Spain.

Ajedrecista.
User avatar
mhull
Posts: 13447
Joined: Wed Mar 08, 2006 9:02 pm
Location: Dallas, Texas
Full name: Matthew Hull

Re: michi

Post by mhull »

hgm wrote:You don't have to go so outlandish as Go.

Xiangqi and (mini-)Shogi are already more interesting. And at least some of the familiar techniques, such as alpha-beta, are still useful there. And of course there is Draughts, in which real progress is still possible, as Fabien has now demonstrated.

Other games that are of interest to AI researchers and have competitions in the ICGA Olympiad are Amazons, Clobber and Surakarta. And you could of course try to do Arimaa.
I'm curious if any work has been done on Pente:

https://en.wikipedia.org/wiki/Pente

You win by getting five stones in a row OR capturing five pairs of enemy stones. I'm not sure how one would balance the two possible objectives.

Capturing five pairs takes a relatively long time compared to the more short term five-in-a-row threats.
Matthew Hull
mvk
Posts: 589
Joined: Tue Jun 04, 2013 10:15 pm

Re: michi

Post by mvk »

lucasart wrote:Chess is getting boring game of fine-tuning of the same algorithms, reimplemented over and over again
As long as humans can be removed from the design process, there is something to explore. Originally CC has been about finding tricks and coding that. Later it became about automating the tuning, and less about programming. Everyone has that under control now. The real interesting times are about to start, where the hardware is becoming powerful enough to shift the responsibility of trick finding to the computers. We have seen the recent leap forward in image recognition, where "engineered" designs finally lost to machine learning methods (which are also engineered of course, but you get the point I hope. The difference is the abstraction level where the engineering takes place). A similar leap forward should be expected in CC. Except that the talents who can pull that off might have lost interest in CC already.
[Account deleted]
matthewlai
Posts: 793
Joined: Sun Aug 03, 2014 4:48 am
Location: London, UK

Re: michi

Post by matthewlai »

mvk wrote:
lucasart wrote:Chess is getting boring game of fine-tuning of the same algorithms, reimplemented over and over again
As long as humans can be removed from the design process, there is something to explore. Originally CC has been about finding tricks and coding that. Later it became about automating the tuning, and less about programming. Everyone has that under control now. The real interesting times are about to start, where the hardware is becoming powerful enough to shift the responsibility of trick finding to the computers. We have seen the recent leap forward in image recognition, where "engineered" designs finally lost to machine learning methods (which are also engineered of course, but you get the point I hope. The difference is the abstraction level where the engineering takes place). A similar leap forward should be expected in CC. Except that the talents who can pull that off might have lost interest in CC already.
I won't claim to be "the talent", but that is exactly what I am working on for my master's thesis (using deep learning with automatic feature extraction to play chess). Really interesting results so far. Hoping to release something soon.

Even if it doesn't turn out to be very strong (already quite a bit stronger than all previous machine learning attempts, though), I've had a heck of a lot of fun making it, sailing deep into uncharted territory.

After I finished my last engine in 2008 (using techniques that have all been implemented a thousand times) I lost interest in computer chess for a few years because of the lack of new ideas, and this is what got me back.

From what I am seeing so far, I truly do believe that the future of CC is in machine learning, even if my attempt is not the one to push it over.

ML has already overtaken the state of the art approach in many other strategy games. Chess will be next!
Disclosure: I work for DeepMind on the AlphaZero project, but everything I say here is personal opinion and does not reflect the views of DeepMind / Alphabet.
JVMerlino
Posts: 1357
Joined: Wed Mar 08, 2006 10:15 pm
Location: San Francisco, California

Re: A little more info about Scan by Fabien Letouzey.

Post by JVMerlino »

Ajedrecista wrote:
Evert wrote:I would have expected draughts programs to be sufficiently advanced that an upset like this would have been unlikely.
8x8 checkers (English draughts variation a.k.a. American checkers) is indeed near God-like level. Cake (by Martin Fierz) and KingsRow (by Ed Gilbert) are the best examples. There is still some room for improvement at 10x10 variation.
Actually, 8x8 checkers was "weakly solved" by Chinook in 2007 as being a draw with best play.

http://spectrum.ieee.org/computing/soft ... ers-solved

jm
Joost Buijs
Posts: 1563
Joined: Thu Jul 16, 2009 10:47 am
Location: Almere, The Netherlands

Re: A little more info about Scan by Fabien Letouzey.

Post by Joost Buijs »

JVMerlino wrote:
Ajedrecista wrote:
Evert wrote:I would have expected draughts programs to be sufficiently advanced that an upset like this would have been unlikely.
8x8 checkers (English draughts variation a.k.a. American checkers) is indeed near God-like level. Cake (by Martin Fierz) and KingsRow (by Ed Gilbert) are the best examples. There is still some room for improvement at 10x10 variation.
Actually, 8x8 checkers was "weakly solved" by Chinook in 2007 as being a draw with best play.

http://spectrum.ieee.org/computing/soft ... ers-solved

jm
You can read all about Chinook in the book, 'One Jump Ahead' written by Jonathan Shaeffer.
This really is a very good read, and this book should be in the library of every serious zero-sum game programmer.