Sign in to follow this  
Mats1

Human-like Chess AI

Recommended Posts

Mats1    1047

Does anyone know where I can read up on this? Or see some engine (source code or just play as an opponent) with at least somewhat human like play? Pro-Deo is the best I have seen thus far, but it's still pretty far from making human like decisions.
Also, does anyone have any ideas of their own on how to approach this? I think trying this might be a nice summer project. I already have a good idea of how 'normal' chess AIs play, but there is very little information (that I have seen anyway) on how to take a more human like approach.

 

Share this post


Link to post
Share on other sites
Mats1    1047

I read that thread when it happened, but I don't feel it contributes anything useful to what I'm asking. I'm aware of how a mini-max type algorithm can be written for chess and how to do basic compensations for certain structural things, but I'm not really sure how a more 'fun' (read: human-like) computer opponent can be made. Pretty much all chess programs now are tactically excellent machines that just grab material wherever they can where they don't see themselves losing to a checkmate or leaving themselves in a really horrible structure. This kind of super solid play makes them quite boring as opponents. =/ I was really looking for where can I start reading for how to make a computer deviate somewhat (or perhaps completely) from mini-max without resorting to adding in random blunders, which is also not fun. In fact, computers playing several very strong moves in a row then just giving away a knight is more than just not fun, it's weird.

This basically sums up how far I got and Google didn't yield anything interesting, so I thought someone here might know a little something, or of articles/links or maybe even tried this themselves and might be able to offer some kind of direction to aim in to get an interesting AI, otherwise, I will just be trying totally from scratch.

Share this post


Link to post
Share on other sites
SerialKicked    611

Not sure if it's of any help, but I remember a computer chess game, I *think* it was Fritz, that was offering 'fun' personalities. Some of those personalities were favoring using some pieces much more heavily than others (like knights or bishops) which is a behavior you can easily notice in human players of low/med level. Others would loose a very advantageous position just to kill the enemy queen, and so on. Of course sacrificing winning chances to capture a queen could also be called a blunder, but it's at least a very human one.

 

Apart from that, I think the main difficulty with your question is to define "human-like behavior". Min-Maxing is basically what humans do too, with more or less success depending on level of play, of course. 

Edited by SerialKicked

Share this post


Link to post
Share on other sites
IADaveMark    3731

Don't think of it in terms of "adding random blunders" and instead think of it in terms of "allowing sub-optimal moves". Humans are rarely perfectly rational or optimal. By including things such as weighted random selection (not random... weighted random that still biases towards the better moves) you allow for "reasonable" moves without always being purely optimal ones.

Share this post


Link to post
Share on other sites
jefferytitan    2523

Personally I think there are five big factors:

  • Biased board assessment, e.g. specific pieces are strong/weak.
  • Performance gets spottier the further down the tree you go, e.g. humans forget the board configuration after many steps or forget to explore a subtree.
  • Temporal continuity - e.g. sticks with a plan if the opponent doesn't seem to invalidate it.
  • If you think you know the purpose of an opponent move, you may neglect the later side-effects of the move.
  • Small random component.

Never throw the game, just calculate the odds slightly wrongly.

Share this post


Link to post
Share on other sites
Mats1    1047

A lot of this posted stuff was really helpful (and pretty much exactly what kind of stuff I was looking for). Thanks! :)

Share this post


Link to post
Share on other sites
rouncer    294

i think evolving chess is more interesting for me, than trying to be human, which i think that everyone wouldn't succeed at, for the time being, but may be wrong.

Edited by rouncer

Share this post


Link to post
Share on other sites
Mats1    1047

i think evolving chess is more interesting for me, than trying to be human, which i think that everyone wouldn't succeed at, for the time being, but may be wrong.

I'm definitely interested in doing this kind of stuff too, but it just seems (to me) to be an awful lot harder(?) to get a decent chess AI through evolution type algorithm than to just mess around with a mini-max function to make it assess positions in a way that is less 'computerish'.

Share this post


Link to post
Share on other sites
vvv2    285

Does anyone know where I can read up on this?

Hi,

 

I think that such work is not available yet, however, it is fully possible to create:

 

a) Current chess AI calculates value for all possible moves;
b) The chess man counts value for possible  combinations of figures (parallel links).

 

I wish you good luck.

Share this post


Link to post
Share on other sites
vvv2    285

I wish you good luck.

.. Sorry, but: "if you do not understand what is written, of course you're not stupid".

 

smile.png

Edited by vvv2

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this