Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re: Re: Artificial Intelligence Programming in Perl

by Sifmole (Chaplain)
on Jul 03, 2002 at 12:36 UTC ( [id://179135]=note: print w/replies, xml ) Need Help??


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

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?

Replies are listed 'Best First'.
Re: Re: Re: Artificial Intelligence Programming in Perl
by ariels (Curate) on Jul 03, 2002 at 12:52 UTC
    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!

Re: Re: Re: Artificial Intelligence Programming in Perl
by Corion (Patriarch) on Jul 03, 2002 at 13:03 UTC

    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
      The idea is that a human, contrary to the computer, has the idea of "worthless" moves and a special preselection

      I am going to bow out of this now, because all the responses are now devolving to "humans do something, we don't know what, but it ain't what computers do". This is not proof or reasonable support, but merely the naysaying of something.

        What reasonable support do you want? Grandmasters *have* been questioned and observed. It *is* know what they do (examine just a few number of moves), we don't know how exactly they select the moves to examine. What they certainly do know is that they don't examine all the positions a computer examines. And there's a simple proof: take a random grandmaster, playing a random game. Measure the time it takes to make a move. The average of those times is less than 50 years. qed. There's no magic, handwaving or naysaying going on.

        Just because you don't know everything doesn't mean you cannot exclude everything. Suppose I know X was in a house. I don't watch the house, but I do watch the road going south from the house. Now, X is no longer in the house. According to your reasoning saying "I don't know where X went, but I know he didn't go south" is not a proof or reasonable support, but merely naysaying of something, because I don't know where X went.

        But have you presented any proof or reasonable support that how computers play chess has any similarity to how humans do?

        Abigail

Re: Artificial Intelligence Programming in Perl
by Abigail-II (Bishop) on Jul 03, 2002 at 13:02 UTC
    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

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://179135]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chilling in the Monastery: (3)
As of 2024-03-29 05:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found