Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: Artificial Intelligence Programming in Perl

by Abigail-II (Bishop)
on Jul 02, 2002 at 13:05 UTC ( #178833=note: print w/ replies, xml ) Need Help??


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

No, I would not consider any chess program to be an example of an application in AI. Most, if not all, chess programs are just brute force algorithms, combined with extensive libraries for the opening game. 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. Then they repeat the process of "try all, evaluate, prune to select best so far" zero or more times.

This doesn't even come close to how a human chess player works. Not much is know how exactly a human chess mind works, but (grand)masters only explore a few moves in depth when its their turn to move.

As for the learning process of Deep Blue, the only ones that are "learning" are the programmers.

Abigail


Comment on Re: Artificial Intelligence Programming in Perl
Re: Re: Artificial Intelligence Programming in Perl
by Sifmole (Chaplain) on Jul 02, 2002 at 13:10 UTC
    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.

    This process of examining and evaluating usually uses some set of heuristics to value each move.This process is an example of applied AI. I have however heard it said, that once AI become applied it ceases to be AI.

      Me

      Cool! Many of the problems I've worked with have been (provably) NP-hard. Of course, the first thing you learn as an algorithms guy in the industry is that NP-hard problems are not insurmountable: typically the instances of the problem which actually show up are easy (in some appropriate sense), and a good heuristic handles most of them quite well (although not optimally).

      I designed and coded some heuristics to speed up such searches. Does that make my work "an example of applied AI"? Or is it just a solution to a practical problem?

      Perl

      Perl's regexp pattern matching is NP-hard (I believe Abigail-II wrote about this very topic). But ingenious heuristics (coupled with occasional "better" choices of regexps) make Perl's regexp matcher indecently fast for most practical applications. Is the Perl regexp matcher "an example of applied AI"? Or is it just a solution to a practical problem?

      What intelligence?

      Ask yourself this: Are these programs displaying anything like intelligent behaviour? Or are they just glorified adding machines?

      Once AI becomes applied, I'll start believing in it. For the time being, the burden of proof is upon its proponents.

      Actually, it values each position, not each move. But if you call this technique "applied AI", then that term because shallow and not very meaningful anymore. From there on, it would be easy to call any algorithm "AI".

      Abigail

        You are correct, it values the resulting position it was merely a misstatement and hardly worthy of devoting your response to pointing out that one word.

        What do you do when you (meaning whoever is reading, or most people not specifically Abigail-II) play a game of chess? You have a knowledge of a set of openings, pick one and start. As each move results in a position you evaluate the current position, you examine the list of possible moves and evaluate each resulting position through some set of logical rules. How is this different than what a computer based chess player does? If its reliance on heuristics makes it "shallow and not very meaningful", then what does that say about the human playing chess?

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (9)
As of 2014-11-24 14:09 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My preferred Perl binaries come from:














    Results (141 votes), past polls