AlvaroBegue wrote:Don wrote:[...]
That would be like saying that something is wrong with humans because they cannot run as fast as horses and trying to improve on this by imitating the horse. To imitate the superior horse we would have to run on our hands and feet - after all the horse is faster and that's how they do it. But we are not made the same as horses. We have to do what works best for us, horses have to do what works best for them, and we have to program computers to take advantage of what they do best and we don't.
It turns out it's not entirely clear that horses are better runners than humans:
http://www.runblogger.com/2009/08/man-v ... athon.html
I remember reading years ago in some magazine that humans were the fastest non-flying creatures on the planet - when considering long distances. I'm not sure I buy that, but the argument had to do with the idea that we could shed heat better than animals. Dogs have to lose heat mostly through their tongues for instance.
In my marathon running days I took my dog (a boxer) on a 15 mile run with me and I ran at good pace, faster than 8 minute miles. I ran on a country road back then. I was prepared to bring the dog home if necessary. However, the dog literally ran circles around me, it was exploring ahead, behind and sideways the whole time always keeping up and sometimes ahead of me. If I ran 15 miles the dog must have run 45 and she still still wanted more. So I'm not sure I believe the articile but it was interesting.
A well conditioned human can travel all day long at walking speeds and cover a lot of ground. I once covered 35 miles on a long hike in less than 16 hours and there are athletes that run in double marathons, 52 miles. I think this dog could have gone 52 miles easily.
That was pretty out of topic, sorry.
Back on topic, I don't think selectivity (of the type where you never reconsider your decision of not exploring a move) is a good idea for either computers or humans. You may initially discard a move that makes you lose your queen, but if you never reconsider such moves, you will never find a queen sacrifice. Hard rules excluding certain moves are always brittle and it should be the case that if there is enough time for the search, you'll spend some time considering the move. Of course this doesn't apply to moves pruned by a beta cut, where the result of the search can't possibly affect the result at the root.
In some ways what a computer does is superior to how a human does it. The iterative deepening part means we come back to reconsider our previous "tentative choices." And it's very orderly, computers do this in a nicely controlled fashion. The reduced depth search and null move pruning is a wonderful tool for controlling the quality of the "selection critieria" of the selective search.
Humans have some amazing strengths too and some of them are far superior to us humans, but I think there is no doubt that computers can do some things much better too such as the bookkeeping involved in doing a recursive iterative deepening search.
The debate of whether modern chess programs use "brute force" or not is pretty sterile. They do go through all sorts of crazy possibilities that a human wouldn't consider,
I'm not so sure of that. We are not really aware of how we do search. When I'm playing chess I reject most of the moves I know are no good, but I am clearly aware of them. I know that stupid moves are available but SOMETHING must be going on that tells me that it's ok to reject it.
Someone posted a position here once where it was obvious there was an unstoppable passed pawn and in the first 2 or 3 seconds digesting the position I noticed that my brain very quickly eliminated most of the moves from consideration, but SOMETHING was happening. One I felt familiar with the position I gave those other moves no though and it felt almost like they deserved no consideration but I think they DID get consideration - almost at a subconscious level and very quickly.
But that is pretty much like computers do too. If you look at the branching factor of the root moves you will notice that the first move takes a long time, but the rest fly by. I don't think the differences here are as obvious as we think.
But I admit we do take some shortcuts based on patterns. 3 pawns vs 2 on one wing of the board humans know right away that you try to advance the unopposed pawn if you can. But even this is not automatic as there could be tactics that prevent this.
There is also the factor that we are extremely familiar with positions near the opening - positions we have played so many times. It feels like we are being highly selective when all we are doing is realizing that "in this type of position" the only moves that ever work is a, b and c. We have a kind of built in hash table or memory that allows us to take many shortcuts - such as not trying to defend the pawn in the queens gambit. It's not like we figured that out on our own for each and every game. We can even program those things but computers still cannot generalize the lessons learned nearly as well as humans unless we make a general rule and add it to the evaluation function.
but they certainly don't just do the most naive thing that comes to mind when you hear "brute force", and using that term belittles the contributions of many authors through the years.
Thank you for saying that. For some reason the phrase "brute force" has become a dirty word, a way to put down computer chess techniques. And people try to pretend they are above it by suggesting that it's not intelligent. But on this forum we discussed how much progress software has made over the years and we have not stood still by any stretch of the imagination.