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

Re: Re: Artificial Intelligence Programming in Perl

by Sifmole (Chaplain)
on Jul 02, 2002 at 13:10 UTC ( [id://178835]=note: print w/replies, xml ) Need Help??


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

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.

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

Replies are listed 'Best First'.
ME TOO! PERL TOO!!
by ariels (Curate) on Jul 03, 2002 at 07:47 UTC

    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.

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

        As I indicated, the difference is that a computer examines all possible moves, while (good) human players only examine a few moves. They instinctly know what good moves are, and don't waste time even considering bad moves. How humans make this (pre)selection of moves to examine isn't known, but it's good enough to beat computers who can examine millions of positions per second.

        Abigail

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others browsing the Monastery: (1)
As of 2024-04-24 16:53 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found