[go: up one dir, main page]

Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

#1 is a solved problem. Ken Regan tells us how to do it. To my knowledge, no commercial chess app has implemented it yet.


Can you provide some links to where Ken Regan describes how to do it?


You just run multi-PV analysis and play moves to keep the intrinsic performance rating[1][2] at the desired level.

[1] http://www.cse.buffalo.edu/~regan/papers/pdf/ReHa11c.pdf

[2] http://www.cse.buffalo.edu/~regan/papers/pdf/Reg12IPRs.pdf


Thanks for the awesome links!

> You just run multi-PV analysis and play moves to keep the intrinsic performance rating at the desired level.

I thought that "just" was funny – it reminds me of this comic[0].

[0]: http://howfuckedismydatabase.com/nosql/fault-tolerance.png


It just means analyzing more than one move at a time. Any engine supporting the UCI protocol should be able to do it. Like Stockfish, which is free.[1] So you don't need to create a new engine to implement this feature. It might be possible to implement it with a bash script. Certainly with JS.[2]

Stockfish does have a "skill level" setting, and it's not terrible at faking club-level play (if you have the Play Magnus mobile app, it's just Stockfish at different skill levels). However, as of 2013 the implementation is much more primitive than what I'm suggesting here.[3]

To be clear, even though it's incredibly obvious, I've never seen this idea anywhere else. It first occurred to me after reading the original Guid & Bratko paper on intrinsic ratings in 2006. Happy to continue this offlist if you want to work on it. My e-mail is in my profile.

[1] http://support.stockfishchess.org/kb/advanced-topics/uci-pro...

[2] https://www.npmjs.com/package/stockfish

[3] https://groups.google.com/forum/#!msg/fishcooking/4Q6BQyHeRJ...


I actually understood what you meant, I just think it's funny when we use "just" right before saying something that seems complex (even if it isn't actually all that complex).

Having said that, I only added the link to that comic because I didn't want to just write a comment saying "thanks for the links", and I'm only replying again, because I'm hoping it continues the pattern where you keep replying to my replies with super interesting links!


You can successfully make a computer program play at a 2000 FIDE level (say), in that its win/loss/draw results will be consistent with that of a 2000 FIDE human. IPR is a good way of doing this in a quantitative way.

The interesting problem is to make the computer play like a 2000-rated person, not just as well as a 2000-rated person. I'm a big fan of Regan's work, but I don't think IPR on its own is sufficient to make the computer play idiomatic suboptimal moves.


Shredder claimed to have human-like play at lower levels, so I gave that a try. It works surprisingly well at my level, making plausible mistakes in a fairly consistent manner. When I was playing against it I was in the 1200-1500 range, so I don't know how well it does at higher levels. Also, it had a setting where it would rate you and auto-adjust itself for the next game.

It made playing against a program a lot nicer than other chess programs I had tried.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: