in reply to Re: Artificial Intelligence Programming in Perl
in thread Artificial Intelligence Programming in Perl

How do you think humans make this initial pre-selection? Through "knowing" which kinds of moves are generally "best", resulting in the highest valued position, from other positions. It is from memory of being in that position/arrangement before or a very similar position/arrangement. Or do you believe there is something more mystical occuring in the human mind other than rapid recognition of previous experience and logical reasoning during this process?

Is it this pruning that is the exhibition of intelligence? Or is it the fact the the heuristics are written in neurons instead of code?

I believe you have a misunderstanding regarding the heuristics used in modern chess playing programs. They do not examine all moves for the entire tree. Branches are pruned as early as they become valued such that they are determined not worth following, the system does not continue to evaluate "losing" positions and the subsequent moves.
Deep Blue employs a system called selective extensions to examine chessboard positions. Selective extensions allow the computer to more efficiently search deeply into critical board arrangements. Instead of attempting to conduct an exhaustive "brute force" search into every possible position, Deep Blue selectively chooses distinct paths to follow, eliminating irrelevant searches in the process. ( from this story)

It is a rare individual who can beat the best chess playing computers; one of the top 5 chess players in the world has tried repeatedly and has somewhere in the area of a 50% win rate against Deep Blue.

  • Comment on Re: Re: Artificial Intelligence Programming in Perl

Replies are listed 'Best First'.
Re: Artificial Intelligence Programming in Perl
by Abigail-II (Bishop) on Jul 03, 2002 at 12:11 UTC
    How do you think humans make this initial pre-selection? Through "knowing" which kinds of moves are generally "best", resulting in the highest valued position, from other positions. It is from memory of being in that position/arrangement before or a very similar position/arrangement. Or do you believe there is something more mystical occuring in the human mind other than rapid recognition of previous experience and logical reasoning during this process?
    I've said repeatedly that how humans make this pre-selection isn't well known. What do you expect from me, do a handful of ph.D's in this afternoon and come up with an answer? But it *is* known that humans do. Saying "oh, they just do it from memory" is bypassing the problem. A computer can evaluate more positions in a minute than human will ever encounter in a lifetime - just letting it run for a few weeks would create a fantastic library; afterall a computer can store far more in memory than a human can. But if it was as simple as that, the strongest players in the world would be computers, but they aren't. A human, OTOH, can certainly recognize *patterns* (in positions, tactics, strategies, combinations, etc), a feat chess computers don't really use.
    I believe you have a misunderstanding regarding the heuristics used in modern chess playing programs. They do not examine all moves for the entire tree. Branches are pruned as early as they become valued such that they are determined not worth following, the system does not continue to evaluate "losing" positions and the subsequent moves.
    I wrote previously, and you quoted that in one of your replies:
    After the opening, they just explore all possible plies (a ply is a half-move) to a certain depth, evaluate the postions, and prune to select the best moves so far.
      So I am confused... Do you mean that chess playing programes evaluate all moves or do they only evaluate some? You have made the statement that such heuristics as used in the chess playing computer are either not AI or show AI to be shallow. A difference you gave was that people, supposedly with intelligence of the non-artificial kind, are able to prune out unbeneficial moves quickly. I provided documentation that modern chess playing programs do just that as well as a response that your example difference was unsatisfactory to support your statement.

      Okay, we don't "know" how humans make this pre-selection; does it matter? does the mechanism with which the selection is made determine whether it is the exhibition of intelligence? Or is the ability to make the selection and decision the exhibition of intelligence?

      If it is the mechanism which is the difference and we don't know what that mechanism is, then how can you state that the mechanism used in AI is shallow or unsatisfactory for the problem set?

        Of course there is a difference between how humans play chess and how computers play chess. Consider: How many positions does Deep Blue examine to decide on its next move? -- A quick search on the web seems to suggest 250 million moves. A second. How many positions does a human grandmaster examine to decide on its next move? 100_000 sounds like a huge overestimate (and would be unsupported by any psychological research). In the 80s, David Levy (I think) investigated human chessplayers; he found that for "real" positions (i.e. those occurring in a real game) masters can produce a good move in much less time that for "unreal" positions. Perhaps humans have some capacity for playing chess beyond alpha-beta pruning with a good ordering heuristic??

        This hardly points at some difference in heuristics betwee

        Humans aren't slightly better than computers at chess (and much better than computers at go) because they analyze more moves. On the contrary: they're better despite analyzing only an insignificant number of moves!

        The idea is that a human, contrary to the computer, has the idea of "worthless" moves and a special preselection. So a grandmaster only considers the "good" moves (of which there are maybe 5 or 10), while the computer has to scan through all possible moves and rate them to even find out what "good" moves are. Vast libraries for the opening help the computer reduce the initial tree of possible moves down to a set of "traditional" moves.

        Another side point might make this phenomenon more plausible to you :
        If you show chessboards with regular play situations on them for a short time to people, those who play chess will more accurately reconstruct the board than those who don't. But if you show them pieces randomly placed on a board, both groups will show a similar rate of errors. This could be interpreted that the human does not see the places of all pieces on the board separately but in relation to the other figures, remembering patterns he has seen/experienced (in play) before.

        A game that solely relies on patterns and their recognition is Go, a game that is considered very hard to write computer opponents for.

        perl -MHTTP::Daemon -MHTTP::Response -MLWP::Simple -e ' ; # The $d = new HTTP::Daemon and fork and getprint $d->url and exit;#spider ($c = $d->accept())->get_request(); $c->send_response( new #in the HTTP::Response(200,$_,$_,qq(Just another Perl hacker\n))); ' # web
        They evaluate all moves from the current position, to a certain depth, then start pruning. It's obvious they cannot evaluate all moves till the end of the game - that would mean chess would be "solved", and it isn't. It will technically unfeasible to solve chess the brute force way for many eons to come. But before pruning, even at the earliest level, a chess program must consider all moves from the current position - after all, pruning is done based on evaluating positions.
        Okay, we don't "know" how humans make this pre-selection; does it matter? does the mechanism with which the selection is made determine whether it is the exhibition of intelligence? Or is the ability to make the selection and decision the exhibition of intelligence?
        The ability to make selections and decisions doesn't make intelligence. After all, any program with an if makes a decision.
        (But I don't want to go into the question of "what is intelligence"? That's a holy way I don't feel stepping into.)
        If it is the mechanism which is the difference and we don't know what that mechanism is, then how can you state that the mechanism used in AI is shallow or unsatisfactory for the problem set?
        I never said that the mechanism used in AI is shallow. What I said was that if you call the rather brute force technique of chess programs (despite some pruning, the technique is brute force, as it considers way more paths than are needed for the "solution") AI, then the term AI becomes shallow. Brute force techniques are amongs the simplest techniques of solving problems.

        Abigail